#!/usr/bin/env python
# -*- coding: utf-8 -*-

import os
import sys
import subprocess
import platform
import shutil

def main():
    """启动OCR工具的主函数"""
    
    # 检查Python版本
    if sys.version_info < (3, 6):
        print("错误: 需要Python 3.6或更高版本")
        sys.exit(1)
    
    # 检查依赖项
    try:
        import tkinter
        from PIL import Image
        import pytesseract
        import dotenv
    except ImportError as e:
        print(f"错误: 缺少必要的依赖项: {e}")
        print("请通过运行以下命令安装依赖:")
        print("pip install -r requirements.txt")
        sys.exit(1)
    
    # 如果不存在.env文件但存在.env.example，则复制一份
    if not os.path.exists('.env') and os.path.exists('.env.example'):
        print("注意: 未找到.env文件，正在从.env.example创建...")
        shutil.copy('.env.example', '.env')
        print("已创建.env文件，请根据需要修改Tesseract路径")
    
    # 加载.env文件
    from dotenv import load_dotenv
    load_dotenv()
    
    # 从.env文件获取Tesseract路径
    tesseract_path = os.getenv('TESSERACT_CMD_PATH')
    if tesseract_path and os.path.exists(tesseract_path):
        print(f"使用配置的Tesseract路径: {tesseract_path}")
        pytesseract.pytesseract.tesseract_cmd = tesseract_path
    else:
        # 如果.env中未设置有效路径，尝试默认路径
        if platform.system() == 'Windows':
            tesseract_default_path = r'C:\Program Files\Tesseract-OCR\tesseract.exe'
            if os.path.exists(tesseract_default_path) and not pytesseract.pytesseract.tesseract_cmd:
                print(f"使用默认Tesseract路径: {tesseract_default_path}")
                pytesseract.pytesseract.tesseract_cmd = tesseract_default_path
    
    # 运行主程序
    from ocr import main as ocr_main
    ocr_main()

if __name__ == "__main__":
    main() 